﻿using sipfe.Controllers.Base;
using sipfe.model.dataAccess;
using sipfe.service.persona;
using sipfe.util;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace sipfe.Areas.Persona.Controllers
{
    public class DatosPersonalesController : BaseSipfeController
    {

        public ActionResult IndexDatosPersona()
        {
            return View();
        }

        public ActionResult AddDatosDireccion()
        {
            return View();
        }

       

        public ActionResult AddDatosLaboral()
        {
            ViewBag.PaisEmisor = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_PAIS_EMISOR);
            ViewBag.TipoDocIdent = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TIPO_DOC_IDENTIFICACION);
            return View();
        }        

        public ActionResult AddDatosAcademica()
        {
            return View();
        }

        public ActionResult AddNuevaPersonaPoPup()
        {
           // ViewBag.PaisEmisor = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_PAIS_EMISOR);
            //ViewBag.TipoDocIdent = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TIPO_DOC_IDENTIFICACION);
            //ViewBag.Genero = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_GENERO_PERSONA);

            //return CacheCompendio.getInstance().getListCompendioById(id); //
            cargaCatalogosNewPerson();
            
            return View();
        }

        

        [HttpPost]
        public ActionResult AddNuevaPersonaPoPup(SIPMaePersona sipMaePersona)
        {
            if (ModelState.IsValid)
            {
               // decimal xx = sipMaePersona.SIPDetEstadoCivil1.nIdeEstadoCivil;
               // SIPMaePersona sipMaePersona1 = new SIPMaePersona();
               // SIPDetDireccion sipDetDireccion1 = new SIPDetDireccion();
                

               // sipMaePersona1.SIPDetEstadoCivil.Add(sipMaePersona.SIPDetEstadoCivil1);

                PersonaService personaService = new PersonaService();
                String[] rpta = personaService.AddNuevaPersonaPoPupService(sipMaePersona);
                string nombrecito = rpta[3];

                var rptax = new HtmlString(nombrecito);

              //  String[] rpta = compendioManteService.AgregarTablaInpService(sipMaeCompendio);
             //   return RedirectToAction("RptaAddTabla", new { idTabla = rpta[0], nomTabla = rpta[1] });

               //   sipMaePersona.nIdePersona.ToString(), sipMaePersona.nIdePaisNac.ToString(), 
               //                   sipMaePersona.nIdeTipoDocum.ToString(), sipMaePersona.vPriNombre,sipMaePersona.vPriApellido, 
                //                  sipMaePersona.vSegApellido};
                ViewBag.nombre = nombrecito;
                return RedirectToAction("RptaAddDatosPersona", new
                {
                    nIdePersona = rpta[0],
                    nIdePaisNac = rpta[1],
                    nIdeTipoDocum = rpta[2],
                    vNombre = rptax,
                    vNumDocum = rpta[4]
                });



            }
            else
            {
                
            }
            cargaCatalogosNewPerson();
            return View(sipMaePersona);
        }

        public ActionResult AddPersonaJuridicaPoPup()
        {
            // ViewBag.PaisEmisor = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_PAIS_EMISOR);
            //ViewBag.TipoDocIdent = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TIPO_DOC_IDENTIFICACION);
            //ViewBag.Genero = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_GENERO_PERSONA);

            //return CacheCompendio.getInstance().getListCompendioById(id); //
            cargaCatalogosNewPerson();

            return View();
        }





        public ViewResult RptaAddDatosPersona(string idTabla)
        {
            ViewBag.ID_TABLA = idTabla;
            return View();
        }



        private void cargaCatalogosNewPerson()
        {
            ViewBag.PaisEmisor = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_PAIS_EMISOR);
            ViewBag.TipoDocIdent = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TIPO_DOC_IDENTIFICACION);
            ViewBag.Genero = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_GENERO_PERSONA);
            ViewBag.EstadoCivil = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_ESTADO_CIVIL);
            ViewBag.Regiones = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_REGIONES);
            //ViewBag.Provincias = formaSelectVacio();
            ViewBag.Provincias = null;

            
        }

        public ViewResult FormaOptionProvincia(int nIdeRegionNac,string sw)
        {

           ViewBag.sw = sw;
           ViewBag.distritos = formaSelectProvincias(nIdeRegionNac);
           return View("FormaOptionProvincia");
            
            
        }

        //edicion de datos de persona

        public ActionResult EditarDatosPersonaInv()
        {
            PersonaService personaService = new PersonaService();
            int n_IdePersona = Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            ViewBag.EstadoCivil = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_ESTADO_CIVIL);

            List<SIPMaePersona> lista = new List<SIPMaePersona>();
            lista = personaService.ListaDatosPersonasService(n_IdePersona);


            return View("Invitado/EditarDatosPersonaInv", lista);
        }

        public HtmlString CheckEstodoCivilExiste(int idEstadoCivil)
        {            
            string nIde_persona = Session[Constante.N_IDE_PERSONA].ToString();
            PersonaService personaService = new PersonaService();
            int rpta = personaService.CheckEstodoCivilExisteService(nIde_persona, idEstadoCivil);
            var resultado = "{\"rpta\":" + rpta + "}";
            return new HtmlString(resultado);
        }

        public HtmlString UpdateEstodoCivil(int idEstadoCivil)
        {
            PersonaService personaService = new PersonaService();
            int n_IdePersona = Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            int n_IdeUsuario = Int32.Parse(Session[Constante.N_IDE_USUARIO].ToString());           
            personaService.UpdateEstodoCivilService(n_IdePersona, idEstadoCivil, n_IdeUsuario);
            var resultado = "{\"rpta\":1}";            
            return new HtmlString(resultado);
        }
        public HtmlString AgregarTelefono(string v_Prefijo, string v_NumTelefono)
        {
            PersonaService personaService = new PersonaService();
            int n_IdePersona = Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            int n_IdeUsuario = Int32.Parse(Session[Constante.N_IDE_USUARIO].ToString());
            personaService.AgregarTelefonoService(n_IdePersona, n_IdeUsuario, v_Prefijo, v_NumTelefono);
            var resultado = "{\"rpta\":1}";
            return new HtmlString(resultado);
        }

        public HtmlString AgregarCorreoElectronico(string v_Correo)
        {
            PersonaService personaService = new PersonaService();
            int n_IdePersona = Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            int n_IdeUsuario = Int32.Parse(Session[Constante.N_IDE_USUARIO].ToString());
            personaService.AgregarCorreoElectronicoService(n_IdePersona, n_IdeUsuario, v_Correo);
            var resultado = "{\"rpta\":1}";
            return new HtmlString(resultado);
        }

        public ActionResult EditarDireccionPersonaInv()
        {
            ViewBag.Regiones    = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_REGIONES);
            ViewBag.TipoZona    = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TIPO_ZONA);
            ViewBag.TipoVia     = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TIPO_VIA);
            return View("Invitado/EditarDireccionPersonaInv");
        }

        public ActionResult ListaDireccionPersonaInv()
        {
            PersonaService personaService = new PersonaService();
            int n_IdePersona = Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            List<SIPMaePersona> lista = new List<SIPMaePersona>();
            lista = personaService.ListaDatosPersonasService(n_IdePersona);
            return View("Invitado/ListaDireccionPersonaInv", lista);
        }

        public HtmlString AgregarDireccionInv(int n_IdeTipoVia, string v_NomVia, string v_NumPuerta, string n_vLetra, int n_IdeTipoZona, string v_NomZona,
                                            string v_CenPob, string n_Block,string n_Piso, string n_Interior, string v_Manzana, string v_Lote, string v_Kilometro, 
                                            string v_Ref, int n_IdeRegionNac, int n_IdeProvDir, int n_IdeDistritoDir)
        {
            int n_IdePersona = Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            int n_IdeUsuario = Int32.Parse(Session[Constante.N_IDE_USUARIO].ToString());
            PersonaService personaService = new PersonaService();
            SIPDetDireccion direccion= new SIPDetDireccion();

            direccion.nIdePersona   =   n_IdePersona;
            direccion.nIdeTipoVia   =   n_IdeTipoVia;
            direccion.vNomVia       =   v_NomVia;
            direccion.vNumPuerta    =   v_NumPuerta;
            direccion.vLetra        =   n_vLetra;
            direccion.nIdeTipoZona  =   n_IdeTipoZona;
            direccion.vNomZona      =   v_NomZona;
            direccion.vCenPoblado   =   v_CenPob;
            direccion.vNumBlock     =   n_Block;
            direccion.vPiso         =   n_Piso;
            direccion.vInterior     =   n_Interior;
            direccion.vManzana      =   v_Manzana;
            direccion.vLote         =   v_Lote;
            direccion.vKilometro    =   v_Kilometro;
            direccion.vRefer        =   v_Ref;
            direccion.nIdeDpto      =   n_IdeRegionNac;
            direccion.nIdeProv      =   n_IdeProvDir;
            direccion.nIdeDistrito  =   n_IdeDistritoDir;
            direccion.nIdeUsuReg    =   n_IdeUsuario;

            personaService.AgregarDireccionInvService(direccion);
            var resultado = "{\"rpta\":1}";
            return new HtmlString(resultado);
        }


        public ActionResult EditarInfoAcademicaInv()
        {
            int n_IdePersona = Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            ViewBag.NivelEstudio    =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_NIVEL_ESTUDIO);
            ViewBag.TipoInstitucion =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TIPO_INSTITUCION);
            ViewBag.TipoEstudio     =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TIPO_ESTUDIO);
            ViewBag.GradoAcademico  =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_GRADO_ACADEMICO);
            ViewBag.Idiomas         =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_IDIOMAS);
            ViewBag.NivelIdiomas    =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_NIVEL_IDIOMA);
            ViewBag.CertiIdiomas    =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_CERTIFICACION_IDIOMA);
            ViewBag.OtrosEstudios   =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_OTRO_ESTUDIO);
            ViewBag.OtroTipoEstudio =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_OTRO_TIPO_ESTUDIO);
            ViewBag.Reconocimientos =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_RECONOCIMIENTO);
            ViewBag.TipoRecono      =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TIPO_RECONOCIMIENTO);
            ViewBag.TrabajoSocial   =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TRABAJO_SOCIAL);            
            List<SIPMaePersona> lista = new List<SIPMaePersona>();
            PersonaService personaService = new PersonaService();
            lista = personaService.ListaDatosPersonasService(n_IdePersona);
            return View("Invitado/EditarInfoAcademicaInv", lista);
        }

        public ActionResult RegistraInfoAcademicaInv(int n_IdeNivelEstudio, int n_IdeTipoInst, int n_IdeInstitucion, string d_FecIniAct, 
            string d_FecFinAct, string n_Promedio)
        {
            int n_IdeTipoEstudio = 0;
            int n_IdeGrado = 0;

            n_IdeTipoEstudio = (  string.IsNullOrEmpty(Request["n_IdeTipoEstudio"]) ? 0 : Int32.Parse(Request["n_IdeTipoEstudio"]));
            n_IdeGrado = (string.IsNullOrEmpty(Request["n_IdeGrado"]) ? 0 : Int32.Parse(Request["n_IdeGrado"]));
            int n_IdePersona = Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
                        
            PersonaService personaService = new PersonaService();
            List<SIPMaePersona> lista = new List<SIPMaePersona>();
            string cadenaNotas = "20";
            
            int n_IdeUsuario = Int32.Parse(Session[Constante.N_IDE_USUARIO].ToString());
            //personaService.RegistraInfoAcademicaInvService(n_IdeNivelEstudio, n_IdeTipoInst, n_IdeInstitucion, d_FecIniAct, d_FecFinAct,n_Promedio, n_IdeTipoEstudio, n_IdeGrado, n_IdeUsuario, n_IdePersona, cadenaNotas);

            lista = personaService.ListaDatosPersonasService(n_IdePersona);


            return View("Invitado/CentroEstudiosRO", lista);
        }

        public ActionResult RegistraInfoAIdiomaInv(int nIdeHabla, int nIdeLee, int nIdeEscribe, int n_Idioma, int n_IdeNivelIdioma)
        {
            int n_CertiIdioma = 0;
            n_CertiIdioma = (string.IsNullOrEmpty(Request["v_CertiIdioma"]) ? 0 : Int32.Parse(Request["v_CertiIdioma"]));            
            int n_IdePersona = Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            int n_IdeUsuario = Int32.Parse(Session[Constante.N_IDE_USUARIO].ToString());

            PersonaService personaService = new PersonaService();
            List<SIPMaePersona> lista = new List<SIPMaePersona>();


            lista = personaService.RegistraInfoAIdiomaInvService(nIdeHabla, nIdeLee, nIdeEscribe, n_IdeNivelIdioma, n_CertiIdioma, n_IdeUsuario, n_IdePersona, n_Idioma);

          //  lista = personaService.ListaDatosPersonasService(n_IdePersona);


           return View("Invitado/IdiomasRO", lista);
        }
               
        public ActionResult RegistraInfoOtrosEstudiosInv(int n_OtroEstudio, int n_IdeInstitucionOtro, int n_AnioOtro)
        {
            int n_TipoOtroEstudio = 0;
            n_TipoOtroEstudio   =   (string.IsNullOrEmpty(Request["n_TipoOtroEstudio"]) ? 0 : Int32.Parse(Request["n_TipoOtroEstudio"]));            
            int n_IdePersona    =   Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            int n_IdeUsuario    =   Int32.Parse(Session[Constante.N_IDE_USUARIO].ToString());

            PersonaService personaService = new PersonaService();
            List<SIPMaePersona> lista = new List<SIPMaePersona>();

            lista = personaService.RegistraInfoOtrosEstudiosInvService(n_OtroEstudio, n_IdeInstitucionOtro, n_AnioOtro, n_TipoOtroEstudio, n_IdeUsuario, n_IdePersona);

           return View("Invitado/ROOtrosEstudios", lista);
        }
       
        public ActionResult RegistraInfoReconocimientoInv(int n_IdeRecono, int n_IdeInstitutoRecono, int n_AnioRecono)
        {
            int n_TipoRecono = 0;
            n_TipoRecono        =   (string.IsNullOrEmpty(Request["n_TipoRecono"]) ? 0 : Int32.Parse(Request["n_TipoRecono"]));            
            int n_IdePersona    =   Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            int n_IdeUsuario    =   Int32.Parse(Session[Constante.N_IDE_USUARIO].ToString());

            PersonaService personaService = new PersonaService();
            List<SIPMaePersona> lista = new List<SIPMaePersona>();

            lista = personaService.RegistraInfoReconocimientoService(n_IdeRecono, n_IdeInstitutoRecono, n_AnioRecono, n_TipoRecono, n_IdeUsuario, n_IdePersona);

           return View("Invitado/ROReconocimiento", lista);
        }

        public ActionResult RegistraInfoTrabajoSocialInv(int n_IdeTipoTrabajo, int n_AnioTrabajo, string v_DescTrabajo)
        {
            int n_IdePersona    =   Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            int n_IdeUsuario    =   Int32.Parse(Session[Constante.N_IDE_USUARIO].ToString());

            PersonaService personaService = new PersonaService();
            List<SIPMaePersona> lista = new List<SIPMaePersona>();

            lista = personaService.RegistraInfoTrabajoSocialInvService(n_IdeTipoTrabajo, n_AnioTrabajo, v_DescTrabajo, n_IdeUsuario, n_IdePersona);

            return View("Invitado/ROTrabajoSocial", lista);
        }


        public ViewResult AddNuevaIntitucionInv()
        {
            ViewBag.PaisEmisor = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_PAIS_EMISOR);
            ViewBag.TipoDocIdent = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TIPO_DOC_IDENTIFICACION);
            return View("Invitado/AddNuevaIntitucionInv");
        }
       
        public HtmlString AddNuevaIntitucionFinal(int nIdeCodPaisDoc, int nIdeTipoDocum, string NumDocInstitucion, string vRazonSocial)
        {
            PersonaService personaService = new PersonaService();            
            int n_IdeUsuario = Int32.Parse(Session[Constante.N_IDE_USUARIO].ToString());
            int rpta = personaService.AddNuevaIntitucionFinalService(nIdeCodPaisDoc, nIdeTipoDocum, NumDocInstitucion, vRazonSocial, n_IdeUsuario);
            var resultado = "{\"rpta\":" + rpta + "}";            
            return new HtmlString(resultado);
        }
        public ActionResult AddSocioEconomica()
        {
            ViewBag.PaisEmisor = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_PAIS_EMISOR);
            ViewBag.TipoDocIdent = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TIPO_DOC_IDENTIFICACION);
            ViewBag.Profesiones = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_PROFESIONES);
            ViewBag.Cie10 = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_CIE10);
            ViewBag.TipoVivienda = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TIPO_VIVIENDA);
            ViewBag.ParentescoFamiliar = formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_PARENTESCO_FAMILIAR);

            List<SIPMaePersona> lista = new List<SIPMaePersona>();
            PersonaService personaService = new PersonaService();
            int n_IdePersona = Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            lista = personaService.ListaDatosPersonasService(n_IdePersona);
            //return View("Invitado/EditarInfoAcademicaInv", lista);
            return View("Invitado/EditarSocioEconomicaInv", lista);
        }

        public ViewResult RegistraInfoSocioEconomicaInv(int n_NummiembrosFam, int n_JefeFamilia, int n_NumDependientes, int n_IdeProfesion,
                                                        int n_IdeTipoVivienda, decimal n_ValorComercial)
        {
            PersonaService personaService = new PersonaService();
            int n_IdePersona = Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            int n_IdeUsuario = Int32.Parse(Session[Constante.N_IDE_USUARIO].ToString());
            List<SIPMaePersona> lista = new List<SIPMaePersona>();
            lista = personaService.RegistraInfoSocioEconomicaInvService(n_NummiembrosFam, n_JefeFamilia, n_NumDependientes, n_IdeProfesion, 
                                                                        n_IdeTipoVivienda, n_ValorComercial, n_IdeUsuario, n_IdePersona);
            return View("Invitado/ROSocioEconomica", lista);
        }
       
        public ViewResult RegistrarRefFamiliarSocioInv(int n_IdePersonaSocio, int n_IdeParentesco, int n_IdeTrabaja, int n_IdeViveContigo)
        {
            int n_IdeCie10          =   0;
            decimal n_Remuneracion  =   0;
            n_IdeCie10              =   (string.IsNullOrEmpty(Request["n_IdeCie10"]) ? 0 : Int32.Parse(Request["n_IdeCie10"]));            
            n_Remuneracion          =   (string.IsNullOrEmpty(Request["n_Remuneracion"]) ? 0 : Decimal.Parse(Request["n_Remuneracion"]));
            
            PersonaService personaService = new PersonaService();
            int n_IdePersona = Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            int n_IdeUsuario = Int32.Parse(Session[Constante.N_IDE_USUARIO].ToString());
            List<SIPMaePersona> lista = new List<SIPMaePersona>();
            lista = personaService.RegistrarRefFamiliarSocioInvService(n_IdePersonaSocio, n_IdeParentesco, n_IdeTrabaja, n_IdeViveContigo,
                                                                        n_IdeCie10, n_Remuneracion, n_IdeUsuario, n_IdePersona);
            return View("Invitado/ROSocioEconomicaRefFam", lista);
        }

        public ActionResult EditarDatosLaboralesInv()
        {
            ViewBag.PaisEmisor          =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_PAIS_EMISOR);
            ViewBag.TipoDocIdent        =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TIPO_DOC_IDENTIFICACION);
            ViewBag.CondicionLaboral    =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_CONDICION_LABORAL);
            ViewBag.CargoLaboral        =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_CARGO_LABORAL);
            ViewBag.EstadoLaboral       =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_ESTADO_LABORAL);
            ViewBag.OtrosIngresos       =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_OTROS_INGRESOS);            

            List<SIPMaePersona> lista = new List<SIPMaePersona>();
            PersonaService personaService = new PersonaService();
            int n_IdePersona = Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            lista = personaService.ListaDatosPersonasService(n_IdePersona);
            
            return View("Invitado/EditarDatosLaboralesInv", lista);
        }

        public ViewResult RegistraDatosLaboralesInv(int n_IdeEmpresaLabora, int n_IdeEstadoLaboral, int n_IdeCargoLaboral, decimal n_RemuneNeta,
                                                    string d_FecIngresoLabo, int n_IdeCondicionLaboral, string v_CodigoTrab,
                                                    string n_IdeDpto, string n_IdeProv, string n_IdeDistrito, string n_IdeTipoTrab)
        {
            PersonaService personaService = new PersonaService();
            int n_IdePersona = Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            int n_IdeUsuario = Int32.Parse(Session[Constante.N_IDE_USUARIO].ToString());
            List<SIPMaePersona> lista = new List<SIPMaePersona>();
           // lista = personaService.RegistraDatosLaboralesInvService(n_IdeEmpresaLabora, n_IdeEstadoLaboral, n_IdeCargoLaboral, n_RemuneNeta,
                                                                    //    d_FecIngresoLabo, n_IdeCondicionLaboral, n_IdeUsuario, n_IdePersona,
                                                                     //   v_CodigoTrab, n_IdeDpto,n_IdeProv, n_IdeDistrito, n_IdeTipoTrab);
            return View("Invitado/RODatosLaboralesInv", lista);
        }

        public ViewResult RegistraOtrosIngresosInv(int n_IdeOtroIngreso, int n_MontoOtroIngreso)
        {
            PersonaService personaService = new PersonaService();
            int n_IdePersona = Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            int n_IdeUsuario = Int32.Parse(Session[Constante.N_IDE_USUARIO].ToString());
            List<SIPMaePersona> lista = new List<SIPMaePersona>();
            //lista = personaService.RegistraOtrosIngresosInvService(n_IdeOtroIngreso, n_MontoOtroIngreso, n_IdeUsuario, n_IdePersona);
            return View("Invitado/ROOtrosIngresos", lista);
        }

        public ActionResult EditarDatosBeneficioInv()
        {
            ViewBag.PaisEmisor          =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_PAIS_EMISOR);
            ViewBag.TipoDocIdent        =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_TIPO_DOC_IDENTIFICACION);
            ViewBag.ConceptoPrograma    =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_PROGRAMAS);
            ViewBag.TipoBeneficios      =   formaSelectCompendio(Constante.getInstance().N_IDE_TABLA_BENEFICIOS);
            List<SIPMaePersona> lista = new List<SIPMaePersona>();
            PersonaService personaService = new PersonaService();
            int n_IdePersona = Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            lista = personaService.ListaDatosPersonasService(n_IdePersona);
            return View("Invitado/EditarDatosBeneficioInv", lista);
        }

        public ViewResult RegistraDatosBeneficioInv(int n_IdeIntitutoBene, int n_IdeTipoBene, int n_AnioBene, int n_IdeConceptoBene)
        {
            decimal n_CostoBene     =   0;
            decimal n_PorceBeca     =   0;
            decimal n_PorceCredito  =   0;
            n_CostoBene     =   (string.IsNullOrEmpty(Request["n_CostoBene"]) ? 0 : Int32.Parse(Request["n_CostoBene"]));
            n_PorceBeca     =   (string.IsNullOrEmpty(Request["n_PorceBeca"]) ? 0 : Decimal.Parse(Request["n_PorceBeca"]));
            n_PorceCredito  =   (string.IsNullOrEmpty(Request["n_PorceCredito"]) ? 0 : Decimal.Parse(Request["n_PorceCredito"]));
            
            
            PersonaService personaService = new PersonaService();
            int n_IdePersona = Int32.Parse(Session[Constante.N_IDE_PERSONA].ToString());
            int n_IdeUsuario = Int32.Parse(Session[Constante.N_IDE_USUARIO].ToString());
            List<SIPMaePersona> lista = new List<SIPMaePersona>();
            lista = personaService.RegistraDatosBeneficioInvService(n_IdeIntitutoBene, n_IdeTipoBene, n_AnioBene, n_IdeConceptoBene,
                                                                    n_CostoBene, n_PorceBeca,n_PorceCredito, n_IdeUsuario, n_IdePersona);
            return View("Invitado/ROBeneficios", lista);
        }
        


    }
}
